package com.lmpop.trade.ts_moduleinfo;

import com.lmpop.frame.QueryList;
import com.lmpop.frame.SysMap;
import com.lmpop.frame.TradeInterf;
import com.lmpop.frame.dao.DbmInterf;
import com.lmpop.frame.exp.ApplicationException;
import java.util.Hashtable;
import java.util.List;

public class Ts_moduleinfoInfo implements TradeInterf
{
  QueryList queryList;

  public Ts_moduleinfoInfo()
  {
    this.queryList = new QueryList();
  }

  public SysMap insert(DbmInterf dbmMgr, SysMap map)
  {
    Ts_moduleinfo ts_moduleinfo = new Ts_moduleinfo();
    ts_moduleinfo.setModule_id(map.getString("module_id"));
    ts_moduleinfo.setModule_name(map.getString("module_name"));
    ts_moduleinfo.setModule_file(map.getString("module_file"));
    ts_moduleinfo.setModule_dir(map.getString("module_dir"));
    ts_moduleinfo.setModule_type(map.getString("module_type"));
    ts_moduleinfo.setRsrv_str0(map.getString("rsrv_str0"));
    ts_moduleinfo.setIn_staff_id(map.getString("in_staff_id"));
    ts_moduleinfo.setRemark(map.getString("remark"));

    String result_code = "0";
    try
    {
      String is_create_module = map.getString("is_create_module");
      if (is_create_module.equals("0"))
        insert(dbmMgr, ts_moduleinfo);
    }
    catch (ApplicationException e)
    {
      e.printStackTrace();
      result_code = "1";
    }
    map.setString("result_code", result_code);
    return map;
  }

  public void insert(DbmInterf dbmMgr, Ts_moduleinfo ts_moduleinfo)
    throws ApplicationException
  {
    dbmMgr.update("insertTs_moduleinfo", ts_moduleinfo);
  }

  public SysMap delete(DbmInterf dbmMgr, SysMap map)
  {
    String pkid_string = map.getString("pkid");
    String result_code = "0";
    try {
      if (!pkid_string.equals("")) {
        String[] pkStr = pkid_string.split("\\|");
        for (int i = 0; i < pkStr.length; i++) {
          if (pkStr[i].equals("")) continue; delete(dbmMgr, pkStr[i]);
        }
      }
    } catch (ApplicationException e) {
      e.printStackTrace();
      result_code = "1";
    }
    map.setString("result_code", result_code);
    return map;
  }

  public void delete(DbmInterf dbmMgr, String pkid)
    throws ApplicationException
  {
    dbmMgr.update("deleteTs_moduleinfo", pkid);
  }

  public SysMap update(DbmInterf dbmMgr, SysMap map)
  {
    Ts_moduleinfo ts_moduleinfo = new Ts_moduleinfo();
    ts_moduleinfo.setModule_id(map.getString("module_id"));
    ts_moduleinfo.setModule_name(map.getString("module_name"));
    ts_moduleinfo.setModule_file(map.getString("module_file"));
    ts_moduleinfo.setModule_dir(map.getString("module_dir"));
    ts_moduleinfo.setModule_type(map.getString("module_type"));
    ts_moduleinfo.setRsrv_str0(map.getString("rsrv_str0"));
    ts_moduleinfo.setIn_staff_id(map.getString("in_staff_id"));
    ts_moduleinfo.setRemark(map.getString("remark"));
    String is_create_module = map.getString("is_create_module");
    String module_id = map.getString("module_id");

    String result_code = "0";
    try {
      if (!is_create_module.equals("0")) {
        delete(dbmMgr, module_id);
      } else {
        boolean is_exist = is_exist_module(module_id);
        if (is_create_module.equals("0")) {
          if (is_exist)
            update(dbmMgr, ts_moduleinfo);
          else
            insert(dbmMgr, ts_moduleinfo);
        }
      }
    }
    catch (ApplicationException e)
    {
      e.printStackTrace();
      result_code = "1";
    }
    map.setString("result_code", result_code);
    return map;
  }

  public void update(DbmInterf dbmMgr, Ts_moduleinfo ts_moduleinfo)
    throws ApplicationException
  {
    dbmMgr.update("updateTs_moduleinfo", ts_moduleinfo);
  }

  public List getListByPage(Object obj, int start, int limit)
  {
    Ts_moduleinfo ts_moduleinfo = (Ts_moduleinfo)obj;
    if (start == 0)
      start = 0;
    else {
      start = (start - 1) * limit;
    }
    ts_moduleinfo.setStart(Integer.valueOf(start));
    ts_moduleinfo.setLimit(Integer.valueOf(limit));
    return this.queryList.getList("getListByTs_moduleinfoPage", ts_moduleinfo);
  }

  public int getCountByObj(Object obj)
  {
    Ts_moduleinfo ts_moduleinfo = (Ts_moduleinfo)obj;
    List list = this.queryList.getList("getCountByObjTs_moduleinfo", obj);
    int count = 0;
    if ((list != null) && (list.size() > 0)) {
      Hashtable newsMap = (Hashtable)list.get(0);
      if ((newsMap.get("count") != null) && (!newsMap.get("count").toString().equals(""))) {
        count = Integer.parseInt(newsMap.get("count").toString());
      }
    }
    return count;
  }

  public boolean is_exist_module(String pkid)
  {
    List list = this.queryList.getList("getTs_moduleinfoByPk", pkid);
    boolean is_exist = false;
    if ((list != null) && (list.size() > 0)) {
      is_exist = true;
    }
    return is_exist;
  }

  public List getListByPk(String pk)
  {
    return this.queryList.getList("getTs_moduleinfoByPk", pk);
  }
}